// Proxy to represent a Mission Model in ASL
// Copyright 2005 (C) Ralph Thomas

#ifndef MISSION_MODEL_PROXY_H
#define MISSION_MODEL_PROXY_H

#include <model/model.h>
#include <factory.hpp>

namespace model {
	//
	/// The model proxy is used to represent a Mission Model
	/// inside ASL. The model proxy is tricky, it doesn't
	/// really represent a single model, because if the "url"
	/// attribute is bound to a variable in the sheet it
	/// could change the model it represents.
	///
	/// This factory creates a model proxy based on the given
	/// parameters.
	///
	/// \param	parameters	a dictionary of parameters
	///				for the new model proxy.
	/// \param	parent		the parent of the proxy
	///				(not used).
	/// \param	token		the factory token for
	///				creating the model proxy.
	//
	adobe::widget_node_t model_proxy_factory(
		const adobe::dictionary_t&	parameters,
		const adobe::widget_node_t&	parent,
		const adobe::factory_token_t&	token );
};

#endif

